from devicetest.aw.OpenHarmony import CommonOH
from devicetest.core.test_case import TestCase, Step

from aw.common import common_setup, common_teardown
from aw.pom import Contact, Keyboard


# 依赖0200新建的联系人
class PreTest_RK3568_Communication_Contact_0500(TestCase, Contact):
    # 预置条件：
    # 烧写目标版本后，正常进入桌面-联系人应用，存在已保存的联系人
    # 测试步骤：
    # 进入桌面，点击联系人搜素框输入搜索内容（若无"联系人"需要先新增联系人）
    # 预期结果：
    # 点击搜索框可正常唤醒键盘，只显示与输入的内容相对应的联系人

    def __init__(self, controllers):
        self.TAG = self.__class__.__name__
        TestCase.__init__(self, self.TAG, controllers)

    def setup(self):
        common_setup(self.Phone1)

    def process(self):
        Step('步骤1.进入桌面，点击联系人搜素框输入搜索内容（若无"联系人"需要先新增联系人）')
        CommonOH.startAbility(self.Phone1, self.ability_name, self.bundle_name)
        CommonOH.wait(self.Phone1, 1)
        CommonOH.touchByText(self.Phone1, '联系人')
        CommonOH.touchByType(self.Phone1, 'TextInput')
        CommonOH.touchByType(self.Phone1, 'TextInput')
        Step('预期结果1.点击搜索框可正常唤醒键盘，只显示与输入的内容相对应的联系人')
        CommonOH.checkIfTextExist(self.Phone1, 'space')
        CommonOH.click(self.Phone1, **Keyboard.key_a)
        CommonOH.checkIfTextExist(self.Phone1, self.test_number)

    def teardown(self):
        common_teardown(self.Phone1, self.bundle_name)
